﻿/***********************************************************************************************
 * 
 * ProjectName: WMSSoft.Lib.WinKStart
 * 
 * Description: Class to read Usersettings from Disk
 * 
 * Created:     13.05.2015
 * 
 * Author:      matthias wagler - matthias@WMSSoft.de
 * 
 * Copyright:   Copyright 2015 by WMSSoft.net
 * 
 * License:     GPLv3
 * 
 * History:     13.05.2015 - matthias wagler matthias@WMSSoft.de   -   Created
 * 
 **********************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using WMSSoft.Lib.WinKStart.Abstract;

namespace WMSSoft.Lib.WinKStart.Model
{
    [Serializable()]
    public class ContextMenuSettings : CModelBase
    {
        bool m_Enabled = true;
        bool m_Taskmanager = true;
        bool m_Systemcontrol = true;
        bool m_Explorer = true;
        bool m_Run = true;
        bool m_Search = true;
        bool m_ProgramsAndFeatures = true;
        bool m_MobilityCenter = false;
        bool m_PowerOptions = false;
        bool m_EventViewer = false;
        bool m_System = true;
        bool m_Devicemanager = true;
        bool m_NetworkConnections = false;
        bool m_Diskmanagement = false;
        bool m_Computermanagement = false;
        bool m_CmdShell =true;
        bool m_CmdShellAdministrator = false;
        bool m_PowerShell = false;
        bool m_PowerShellAdministrator = false;
        bool m_WinKStartSettings = true;
        bool m_WinKStartExit = true;
        bool m_WindowsSessionCtl = true;

        public bool Enabled
        {
            get { return m_Enabled; }
            set { 
                m_Enabled = value;
                OnPropertyChanged();
            }
        }

        public bool Taskmanager
        {
            get { return m_Taskmanager; }
            set { 
                m_Taskmanager = value;
                OnPropertyChanged();
            }
        }

        public bool Systemcontrol
        {
            get { return m_Systemcontrol; }
            set { 
                m_Systemcontrol = value;
                OnPropertyChanged();
            }
        }

        public bool Explorer
        {
            get { return m_Explorer; }
            set { 
                m_Explorer = value;
                OnPropertyChanged();
            }
        }

        public bool Run
        {
            get { return m_Run; }
            set { 
                m_Run = value;
                OnPropertyChanged();
            }
        }

        public bool Search
        {
            get { return m_Search; }
            set { 
                m_Search = value;
                OnPropertyChanged();
            }
        }

        public bool ProgramsAndFeatures
        {
            get { return m_ProgramsAndFeatures; }
            set { 
                m_ProgramsAndFeatures = value;
                OnPropertyChanged();
            }
        }

        public bool MobiltyCenter
        {
            get { return m_MobilityCenter; }
            set { 
                m_MobilityCenter = value;
                OnPropertyChanged();
            }
        }

        public bool PowerOptions
        {
            get { return m_PowerOptions; }
            set { 
                m_PowerOptions = value;
                OnPropertyChanged();
            }
        }

        public bool EventViewer
        {
            get { return m_EventViewer; }
            set { 
                m_EventViewer = value;
                OnPropertyChanged();
            }
        }

        public bool System
        {
            get { return m_System; }
            set { 
                m_System = value;
                OnPropertyChanged();
            }
        }

        public bool DeviceManager
        {
            get { return m_Devicemanager; }
            set { 
                m_Devicemanager = value;
                OnPropertyChanged();
            }
        }

        public bool NetworkConnections
        {
            get { return m_NetworkConnections; }
            set { 
                m_NetworkConnections = value;
                OnPropertyChanged();
            }
        }

        public bool Diskmanagement
        {
            get { return m_Diskmanagement; }
            set { 
                m_Diskmanagement = value;
                OnPropertyChanged();
            }
        }

        public bool Computermanagement
        {
            get { return m_Computermanagement; }
            set { 
                m_Computermanagement = value;
                OnPropertyChanged();
            }
        }

        public bool CmdShell
        {
            get { return m_CmdShell; }
            set { 
                m_CmdShell = value;
                OnPropertyChanged();
            }
        }

        public bool CmdShellAdministrator
        {
            get { return m_CmdShellAdministrator; }
            set { 
                m_CmdShellAdministrator = value;
                OnPropertyChanged();
            }
        }

        public bool PowerShell
        {
            get { return m_PowerShell; }
            set { 
                m_PowerShell = value;
                OnPropertyChanged();
            }
        }

        public bool PowerShellAdministrator
        {
            get { return m_PowerShellAdministrator; }
            set { 
                m_PowerShellAdministrator = value;
                OnPropertyChanged();
            }
        }

        public bool WinKStartSettings
        {
            get { return m_WinKStartSettings; }
            set { 
                m_WinKStartSettings = value;
                OnPropertyChanged();
            }
        }

        public bool WinKStartExit
        {
            get { return m_WinKStartExit; }
            set { 
                m_WinKStartExit = value;
                OnPropertyChanged();
            }
        }

        public bool WindowsSessionCtl
        {
            get { return m_WindowsSessionCtl; }
            set { 
                m_WindowsSessionCtl = value;
                OnPropertyChanged();
            }
        }
    }
}
